<script setup lang="ts">
// 泛型  ----  类型的复用
// Partial  Required  Record ---  百度收  ts 有哪些内置类型

// TS 内置 类型函数 Partial  可以把一个类型里面的所有类型变为可选
interface Student {
  name?: string;
  age?: number;
}

const student1: Student = {};
const student2: Required<Student> = {
  name: 'xxx',
  age: 123,
};

console.log(student1, student2);

// 以后在工作里面，写对象的类型，都用 记录 Record， 类型比object 更细一些
// const obj: Record<string, string|number> = {
// const obj: object = {
const obj: Record<string, any> = {
  name: 'a',
  age: 111,
  aaaa: true,
};

console.log(obj);

// const student1: Student = {};

// const student2: Partial<Student> = {};

// console.log(student1, student2);

// type Partial111<T> = {
//   [P in keyof T]?: T[P];
// };
</script>

<template>
  <a class="main">123</a>
</template>
